/**
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved. <br/>
 * 描述: TODO <br/>
 *
 * @author framework generator
 * @date 2022年02月22日
 * @version 2.0
 */
package com.icinfo.cloud.provider.punish.ucase.casemain.mapper;

import com.icinfo.cloud.provider.punish.ucase.casemain.dto.CaseReasonMainRecordQueryDto;
import com.icinfo.cloud.provider.punish.ucase.casemain.model.CaseReasonMainRecord;
import com.icinfo.cloud.provider.punish.ucase.casemain.vo.CaseReasonMainRecordByCaseIdVo;
import com.icinfo.cloud.provider.punish.ucase.casemain.vo.CaseReasonMainRecordVo;
import com.icinfo.framework.mybatis.mapper.common.Mapper;
import org.springframework.data.repository.query.Param;

import java.util.List;
import java.util.Map;

/**
 * 描述: 案件案由记录表 case_reason_main_record 对应的Mapper接口.<br>
 *
 * @author framework generator
 * @date 2022年02月22日
 */
public interface CaseReasonMainRecordMapper extends Mapper<CaseReasonMainRecord> {

    /**
     * 无效相关案由记录
     * @author liyafeng
     * @date 2022/2/26
      * @param paramMap
     * @return
     */
    void updateCaseReasonMainRecordStatus(Map<String,Object> paramMap);


    /**
     * 【V1.0.0】描述：获取案件案由列表
     *
     * @param queryDto {@link CaseReasonMainRecordQueryDto}
     * @return {@link List<CaseReasonMainRecordVo>} 案件案由列表
     * @author xiangyuyu
     * @date 2022-02-28 11:57
     */
    List<CaseReasonMainRecordVo> selectCaseReasonRecordList(@Param("queryDto") CaseReasonMainRecordQueryDto queryDto);

    /**
     * 描述：补录案件id删除
     * @param map
     * @return
     */
    int deleteAllByCaseId(Map map);

    /**
     * 根据案件id列表 获取委托执法的事项
     * @param caseIds
     * @return
     */
    List<CaseReasonMainRecordByCaseIdVo> getRecordsByCaseIds(@org.apache.ibatis.annotations.Param("caseIds") List<String> caseIds);
}